为docker微服务添加iptables白名单

您所在的位置:网站首页 iptable 白名单 为docker微服务添加iptables白名单

为docker微服务添加iptables白名单

2023-09-20 17:53| 来源: 网络整理| 查看: 265

为docker微服务添加iptables白名单 前提简介对iptables功能及看法环境说明INPUTFORWARDOUTPUT 后续补充

前提简介

因漏洞整改需要对docker微服务做处理,但经常修改配置处理漏洞并不是好办法,最好是能通过白名单添加处理。然后最常用的iptables,但实际上iptables和docker存在联系且有影响,细节上不讨论。

对iptables功能及看法

首先iptables三个大块INPUT、FORWARD和OUTPUT,这里是个人测试后使用三大块添加。

环境说明

笔记本虚拟网卡地址:192.168.11.1 docker虚拟网段:172.17.0.0/16 宿主主机地址:192.168.11.200

INPUT

对进入的过滤处理,宿主机上需要禁止某些IP访问,可直接在INPUT添加,例如仅允许某个可以访问,可以使用未添加的机器telnet服务器22端口测试。

iptables -A INPUT -s 192.168.11.1 -j ACCEPT #然后执行默认丢弃规则,以下命令在生产环境务必谨慎 #因为以下命令可能会导致访问不到机器,需要把工作站访问的地址添加 iptables -P INPUT DROP

特别说明:在INPUT中添加并不能限制对docker应用的访问,如我测试中运行了mysql,虽然添加了INPUT,但其他机器还是能够访问。 在这里插入图片描述

FORWARD

FORWARD是对转发过程处理,同时也是主要对docker进行处理的规则(DOCKER、DOCKER-ISOLATION和DOCKER-USER这里不讨论),因为docker有本身的虚拟ip及网段,所以在FORWARD配置,因为没有对docker配置做修改,在每次重启iptables、重启docker后就回自带全部转发的FORWARD规则,如图 在这里插入图片描述 所以手动删除了前面两条DOCKER -j ACCEPT及DOCKER-ISOLATION的规则,这两条默认允许全部访问docker。删除规则,即删除序号1两次。

iptables -D FORWARD 1 #删除默认的全部允许规则后,添加可访问地址 #仅允许192.168.11.1访问docker虚拟网段172.17.0.0/16 iptables -A FORWARD -s 192.168.11.1 -d 172.17.0.0/16 -j ACCEPT iptables -A FORWARD -d 192.168.11.1 -s 172.17.0.0/16 -j ACCEPT #以上白名单添加后,做全部丢弃规则 #以下命令需谨慎,因为会导致终端关闭等情况,务必最后使用,直连物理机等情况可不考虑。 iptables -P FORWARD DROP

在这里插入图片描述

OUTPUT

output是对出去规则做处理,这里没有具体要求就不做考虑。如果要写默认iptables -P OUTPUT DROP规则,这里一定要把宿主机地址加入,如以下服务器地址就是192.168.11.200,当然物理机直连的可不考虑。 在这里插入图片描述

后续补充

DOCKER、DOCKER-USER和DOCKER-ISOLATION规则,这里默认在iptables重启后,再重启docker便自行添加。 关于springBoot Actuator配置不当存在信息泄露漏洞,及swagger信息泄露漏洞,iptables上字段限制

#一开始做漏洞处理规则如下,如果已经开启白名单,倒也可不考虑字段限制 #以下将规则放置到前面,禁止字段信息 iptables -I FORWARD 1 -m string --string "/actuator" --algo bm -j DROD iptables -I FORWARD 1 -m string --string "/swagger-ui" --algo bm -j DROP


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3